var $clickObj;
var $delObj;
var img_k=$("<img src='image/icon-k.png' type='5'>");
var img_h=$("<img src='image/icon-h.png' type='6'>");
var  T= {};
var Files=[];
var li 		= "<li></li>";
var radio   = "<label class='input-check'><input type='radio'  ></label>";
var checkbox= "<label class='input-check'><input type='checkbox'></label>";
var div     = "<div class='cq-answer-content T_edit T_plugins' data-Tid='' style='font-size:14px;'></div>";
var exam={
	//初始化
	init:function(){
		//拖拽
		this.dragFn();
		//拖拽排序
		this.sortFn();
		//题目菜单滚动固定顶部
		this.fixFn();
		//题目菜单折叠/展开
		this.menuFn();
		//标题编辑
		this.titleEditFn();
		//题操作事件初始化
		this.listAllCtrlFn('.ui-questions-content-list','.ui-up-btn','.ui-down-btn','.ui-clone-btn','.ui-del-btn');
		//批量添加事件初始化
		this.topicACtrlFn('.ui-questions-content-list','.ui-add-item-btn','.ui-batch-item-btn','.ui-add-answer-btn');
		//
		this.moveTispFn('.ui-up-btn,.ui-down-btn,.ui-clone-btn,.ui-del-btn');
		this.moveTispFn('.ui-add-item-btn,.ui-batch-item-btn,.ui-add-answer-btn');
		//提交按钮绑定
		$("#btn_save").click(save);
	},
	//拖拽
	dragFn:function(){
		var _this=this;
		var data={};
		$( "#ui_sortable_exam li" ).draggable({
		       /* containment:'#pageContentId',*/
		        connectToSortable:'.ui-questions-content-list',
		        cursorAt: { top: 18, left: 20 },
			    helper: function(event) {
			    	data={
						    type:$(this).children('a').attr('data-checkType'),//1为单选，2为多选
						    name:'xxx1',
						    //随机数模拟
						    itmetid:10045+parseInt(100*Math.random()),
							items:[{
									value:'0',
									//随机数模拟,需要绑定你固定id
									tid:100132+parseInt(100*Math.random())
								},{
									value:'0',
									//随机数模拟,需要绑定你固定id
									tid:100152+parseInt(100*Math.random())
								}]
					}
			    	return template($(this).attr('data-tempId'),data);
			    },
			    revert:'invalid',
			    start:function(event) {
			    	_this.titleDelFn();
			    },  
			    drag:function(event) {
			    	
			    },  
			    stop:function(event) {
			    	_this.orderFn($('.ui-questions-content-list'));
			    }
			    
		}).on('click',function(e){
			data={
			    type:$(this).children('a').attr('data-checkType'),//1为单选，2为多选
			    name:'xxx1',
			    //随机数模拟
			    itmetid:10045+parseInt(100*Math.random()),
				items:[{
						value:'0',
						//随机数模拟
						tid:100132+parseInt(100*Math.random())
					},{
						value:'0',
						//随机数模拟
						tid:100152+parseInt(100*Math.random())
					}]
			}
			$('.ui-questions-content-list').append(template($(this).attr('data-tempId'),data));
			_this.orderFn($('.ui-questions-content-list'));
	        _this.sortFn();
		}).disableSelection();
	},
	//拖拽排序
	sortFn:function(){
		var _this=this;
		$('.ui-questions-content-list').sortable({
			handle:'.ui-drag-area',
			items:'>li',
			containment:'#pageContentId',
			opacity:0.7,
			placeholder: 'ui-state-highlight',
			start:function(event) {
		    	exam.titleDelFn();
		    },
			stop:function() {
			    _this.orderFn($(this));
			    },
		revert:'invalid'
		});
	},
	//标题序列号
	orderFn:function(obj){
		obj.find('li.items-questions').each(function(i){
			      	 $(this).find('.module-menu h4').html((i+1));
			      });
	},
	//题目菜单滚动固定顶部
	fixFn:function(){
		var _this=this;
		$('#desktop_scroll').scroll(function(){
			_this.titleDelFn();
		var parentLeft=$('.exam-nav').parent().offset().left;
			if($('.exam-nav').offset().top+20+$('.conditionItems').outerHeight()+$('.title').outerHeight()<=$(this).scrollTop()){
				$('.exam-nav').css({'position':'fixed','top':0+'px','left':parentLeft+'px'});
				$('.exam-nav').addClass('scrollCurr');
			}else{
				$('.exam-nav').removeAttr('style');
				$('.exam-nav').removeClass('scrollCurr');
			}
			
		});
	},
	//题目菜单折叠/展开
	menuFn:function(){
		$('.exam-item-title').on('click',function(){
			if($(this).hasClass('curr')){
				$(this).removeClass('curr');
				$(this).find('i').removeClass('icon-collapse').addClass('icon-expand');
				$(this).next('ul.exam-nav-list').stop().slideDown();
			}else{
				$(this).addClass('curr');
				$(this).find('i').removeClass('icon-expand').addClass('icon-collapse');
				$(this).next('ul.exam-nav-list').stop().slideUp();
			}
		});
	},
	//标题编辑
	titleEditFn:function(){
		$(document).on('click','.T_edit',function(event){
			$clickObj=$(this);//当前点击对象
			$delObj=$(this).parent();//  对象的父元素
			$('.cq-into-edit').remove();
			var data={
				title:''
			}
			if(!$('.cq-into-edit').size()){
				$('body').append(template('drag_T_edit',data));
				$('.cq-into-edit').attr('data-gettid',$(this).attr('data-tid'));
			}
			if($(this).hasClass('T_plugins')){
				$('.cq-into-edit').append(template('T_edit_plugins',{}));
			}
			else if($(this).hasClass('T_plugins2')){
				$('.cq-into-edit').append(template('T_edit_plugins2',{}));
			}
			$('.cq-into-edit').css({
				'top':($(this).offset().top-1)+'px',
				'left':($(this).offset().left)+'px',
				'width':$(this).outerWidth()+'px',
			});
			if($(this).hasClass('T-center')){
				$('.cq-into-edit .cq-edit-title').css({
					'text-align':'center'
				});
			}else{
				$('.cq-into-edit .cq-edit-title').css({
					'text-align':'left'
				});
			}
			if($(this).attr('data-font')){
				$('.cq-into-edit .cq-edit-title').css({
					'font-size':$(this).attr('data-font')+'px'
				});
			}else{
				$('.cq-into-edit .cq-edit-title').css({
					'font-size':''
				});
			}
			$('.cq-into-edit .cq-edit-title').css({
				'font-size':16+'px',
				'min-height':$(this).height()+'px',
				'padding-top':($(this).outerHeight()-$(this).height())/2+'px',
				'padding-bottom':($(this).outerHeight()-$(this).height())/2+'px'
			}).html($(this).html()).focus();
			
			$(document).one('click',function(){
					$('.cq-into-edit').remove();
				});
			$(document).on('click','.cq-into-edit',function(e){
			      e.stopPropagation();
			});
			event.stopPropagation();
		});

		$(document).on('blur','.cq-into-edit .cq-edit-title',function(){
			var text=$('.cq-into-edit .cq-edit-title').html();
			if(text=='') text="";
					$('.T_edit[data-tid='+$('.cq-into-edit').attr('data-gettid')+']').html(text);
				});

	},
	//关闭标题编辑
	titleDelFn:function(){
		if($('.cq-into-edit').size()){
			$('.T_edit[data-tid='+$('.cq-into-edit').attr('data-gettid')+']').html($('.cq-into-edit .cq-edit-title').html());
			$('.cq-into-edit').hide();
		}
		
	},
	//鼠标移动上显示
	moveTispFn:function(obj){
		$(document).on('mousemove',obj,function(e){
			var strTx=$(this).attr('data-tisp');
			var str=$('<div class="move-tisp-box"></div>');
			str.html(strTx);
			if(!$('.move-tisp-box').size()){
				str.appendTo('body');
			}
			$('.move-tisp-box').css({top:(e.pageY+15)+'px',left:(e.pageX+15)+'px'});
		});
		$(document).on('mouseout',obj,function(e){
			$('.move-tisp-box').remove();
		});
	},
	//控制操作：上移，下移，复制，删除
	listAllCtrlFn:function(parentObj,upObj,downObj,cloneObj,delObj){
		var _this=this;
		//上移
		$(document).on('click',parentObj+' '+upObj,function(e){
			var $parentItems=$(this).closest('li.ui-module');
			if($parentItems.prev('li.ui-module').size()){
				$parentItems.insertBefore($parentItems.prev('li.ui-module'));
				_this.orderFn($(parentObj));
				_this.titleDelFn();
			}else{
				layer.msg('已经是第一个了！');
			}
		});
		//下移
		$(document).on('click',parentObj+' '+downObj,function(e){
			var $parentItems=$(this).closest('li.ui-module');
			if($parentItems.next('li.ui-module').size()){
				$parentItems.insertAfter($parentItems.next('li.ui-module'));
				_this.orderFn($(parentObj));
				_this.titleDelFn();
			}else{
				layer.msg('已经是最后一个了！');
			}
		});
		//复制/克隆
		$(document).on('click',parentObj+' '+cloneObj,function(e){
			var $parentItems=$(this).closest('li.ui-module');
			$parentItems.clone(true).insertAfter($parentItems);
			_this.orderFn($(parentObj));
			_this.titleDelFn();
		});
		//删除
		$(document).on('click',parentObj+' '+delObj,function(e){
			var $parentItems=$(this).closest('li.ui-module');
			$parentItems.remove();
			layer.msg('已删除！');
			$('.move-tisp-box').remove();
			_this.orderFn($(parentObj));
			_this.titleDelFn();
		});
	},
	//单题添加，批量添加
	topicACtrlFn:function(parentObj,addObj,batchAddObj,addAnswerObj){
		//添加选项栏
		var $tid=100135;
		$(document).on('click',parentObj+' '+addObj,function(){
			var $parentItems=$(this).closest('li.ui-module').find('.cq-unset-list');
			var $name=$.trim($parentItems.attr('data-nameStr'));
			$tid++;
			var data={
				 type:parseInt($parentItems.attr('data-checktype')),
				 name:$name,
				 index:$parentItems.children('li:last').index()+1,
				 items:[{value:'0',tid:$tid}]
			}
			$parentItems.append(template('ui_additem_content',data));
			
		});
		//批量添加选项栏
		$(document).on('click',parentObj+' '+batchAddObj,function(){
			var $parentItems=$(this).closest('li.ui-module').find('.cq-unset-list');
			layer.msg('此功能暂未开放！');
		});
		//添加答案解析
		$(document).on('click',parentObj+' '+addAnswerObj,function(){
			$(this).closest('li').css({'height':'auto'});
			var $parentItems=$(this).closest('li.ui-module').find('.cq-unset-list');
			if(!$(this).closest('li.ui-module').find('.analysis_contx').size()){
				$parentItems.after(template('analysis_tmp',{}));
			}else{
				$(this).closest('li.ui-module').find('.analysis_contx').remove();
			}
		});
		//删除单个选项
		$(document).on('click','.icon-wrong',function(){
			var $parentItems=$delObj;
			$parentItems.remove();
			layer.msg('已删除！');
			$('body').click();
		});
		//图片上传
		$(document).on('click','.icon-picChoice',function(){
			$('#previewImg').click();
		});
		//()
		$(document).on('click','.icon-k',function(){
			var $input=$clickObj;
			$input.append(img_k);
			$('body').click();
		});
		//[]
		$(document).on('click','.icon-h',function(){
			var $input=$clickObj;

			$input.append(img_h);
			$('body').click();
		});
	}


}

//整张 问卷对象
function Questionnaire(title,summary,questions){
	var questionnaire = {}
	questionnaire.title = title;
	questionnaire.summary = summary;
	questionnaire.questions=questions;
	return questionnaire;
}

//问题            题号 类型 题目  内容
function Question(i,type,title,context) {
	var o = new Object();
	o.order = i;
	o.type = type;
	o.title = title;
	o.context = context;
	return o;
}
//选项
function Context(type,context){

	var text=[];
	if(type=="1"||type=="2"){// 单选 多选
		var li=$(context).children(".cq-unset-list").find("li");//  获取选项集合
		li.each(function(){
			text.push($(this).find("div").text());
		})
	}
	else if(type=="5"||type=="6"||type=="7"){// 填空
		var div=$(context).children(".describe-edit-content").text();
		text.push(div);
	}
	return text;

}
function reView(result){
	$("#init").data("id",result.id);
	$("#init").data("start",result.start);
	$("#init").data("ctime",result.ctime);
	$("#ctime").text(ctime(result.ctime))
	$("#summary").text(result.summary);
	$("#title").text(result.title);
	var questions=result.questions;
	$.each(questions,function(i,o){
		//还原题型
		$("#ui_sortable_exam").find("li[data-uid="+o.type+"]").trigger("click");
		//  还原问题
		var $list=$("#questtions_list");//获取问题清单
		var list=$list.children(".items-questions")  //  获取li元素数组
		var li=$(list.get(o.order-1));
		$(li).find("div.cq-title.T_edit").text(o.title);
		//还原选项  内容
		var context=$(li).find(".cq-items-content");
		if(o.type=="1"||o.type=="2"){// 单选 多选
			var li=$(context).children(".cq-unset-list").find("li");//  获取选项集合
			li.remove();                                           //清空原来的
			var contexts=(o.context).substring(2,o.context.length-2);
			contexts=eval(contexts);//  解析 数组
			$.each(contexts,function(j,c){
				var l=$("<li></li>");
				if(o.type=="1")
				l.append(radio);
				else l.append(checkbox);
				var d=$(div);
				d.text(c);
				d.attr("data-Tid",100152+parseInt(100*Math.random()));
				l.append(d);
				$(context).children(".cq-unset-list").append(l);
			})
			//    选项添加完毕
		}
		else if(o.type=="5"||o.type=="6"||o.type=="7"){// 填空
			var contexts=o.context.substring(4,o.context.length-4);
			if(o.type=="5"||o.type=="6"){
				$(context).children(".describe-edit-content").text(contexts);
			}
			else {
				$(context).children(".describe-edit-content").text(contexts);
			}

		}
	})


}
var max =0;
function save(){
	if(max>0) { toastAlert("warning","提交失败","禁止重复提交"); return false;}
	var summary=$("#summary").text();
	var title=$("#title").text();
	var id=$("#init").data("id");
	var start=$("#init").data("start");
	var ctime=$("#init").data("ctime");
	var questions=[];
	var $list=$("#questtions_list");//获取问题清单
	var list=$list.children(".items-questions")  //  获取li元素数组
	list.each(function(){
		var li=$(this);     //  获取单个问题的  li
		var context=$(li).find(".cq-items-content");  //  问题选项  或者  内容
		context=Context($(li).attr("q-type"),context);  //  根据题型来  设置
		var q=Question($(li).find("h4").text(),$(li).attr("q-type"),$(li).find("div.cq-title.T_edit").text(),context)
		//   生成一个  question对象  保存每个问题 的  题号 题目  内容
		//console.info(q)
		questions.push(q);
	})
	var questionnaire = {};
	questionnaire.id =id ;
	questionnaire.start =start ;
	questionnaire.title = title;
	questionnaire.ctime = ctime;
	questionnaire.summary = summary;
	questionnaire.questions=questions;
	try {
		questionnaire = JSON.stringify(questionnaire);
		var files = JSON.stringify(Files);
	//	console.info(questionnaire);
		$.post($("#basePath").val() + "Question/add", {
			questionnaire: questionnaire,
			files: files,
		}, function (data) {
			data=JSON.parse(data);
			toastAlert(data.flag,data.oprate+data.oprated,data.msg);
			if(data.flag=="success"){
				max++;
			}
		});
	}catch (err){
console.info("异常");
	}
}
function previewImage(file)
{
	var $input=$clickObj;
	if (file.files && file.files[0])
	{
		if($.inArray($(file).val(), Files)<0){
		Files.push($(file).val());
	}
		//console.info(Files);
		var img=$("<img style='width:100px;height:100px;'/>");
		img.attr('name',$(file).val())
		var reader = new FileReader();
		reader.onload = function(evt){img.attr('src',evt.target.result);}
		reader.readAsDataURL(file.files[0]);
		$input.append(img);
	}
	else //兼容IE
	{
		var sFilter='filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src="';
		file.select();
		var src = document.selection.createRange().text;
		div.innerHTML = '<img id=imghead>';
		var img = document.getElementById('imghead');
		img.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = src;
		var img=$("<div  style='width: 100px;height: 100px;"+sFilter+src+"\"'></div>");
		$input.append(img);
	}
	$(file).val("");
	$('body').click();
}
// 提示框事件
function toastAlert(icon,heading,text){
	$.toast({
		heading: heading,
		text: text,
		stack: false,
		position: 'mid-center',
		showHideTransition: 'fade',
		icon: icon  , // icon:error warning  success info
		hideAfter: 5000,
	})
}

function ctime(cellValue){
	var date =new Date(cellValue);
	var year=date.getYear()+1900;
	var month=date.getMonth()+1;
	var date=date.getDate();
	return year+"-"+month+"-"+date+"  创建------>修改中";
}


